#第4章 字符串
str = "hello python"
print(str[0:5])
#str[0:5] = "python" #字符串是不可变的
print(str)

print("hello\nPython")#换行
print("\'")
print("\\")
print("\"")
print("\a")#打出来的不知道是什么玩意，书里叫响铃

print("字符串格式化")
print("小明今年%s岁了"%"10")

print("圆周率PI的值为：%f"%3.14)
print("圆周率PI的值为：%.2f"%3.14)

print("小明今年的成绩比去年提高了%.2f"%1.23 + "%")
print("小明今年的成绩比去年提高了%.2f%%"%1.23)

print("今年是%d年世界杯，%s队夺得了冠军，最佳射手是%s，一共进了%d个球"%(2018,'法国',"卡恩",6))
#print("今年是%d年世界杯，%s队夺得了冠军，最佳射手是%s，一共进了%d个球"%2018,'法国',"卡恩",6)

#字符宽度和精度
print("--------------字符宽度和精度----------------")
print("圆周率PI的值为：%10f"%3.141593) #字符串的宽度是10，占位的字符串长度只有8，在字符串前面补2个空格
print("圆周率PI的值为：%10.2f"%3.141593) #字符串的宽度是10，占位的字符串长度只有4，在字符串前面补6个空格
print("圆周率PI的值为：%.2f"%3.141593) #保留2位小数
print("圆周率PI的值为：%.2f"%3.145593) #保留2位小数,会四舍五入
print("字符串精度获取%.5s" % "hello world") #字符串前5个字符
print("字符串精度获取%*.*s" % (10,5,"hello world")) #*代表值从元组中获取，输出长度是10精度是5的字符串
print("圆周率PI的值为：%+.2f"%-3.141593) #数字对齐，无论正负都输出符号
print("圆周率PI的值为：%+.2f"%3.141593) #数字对齐，无论正负都输出符号

#字符串方法
print("--------------字符串方法find()----------------")
field = "do it now"
print(field.find("no"))
print(field.find("it",0,5))
print(field.find("it",0,4))
print(field.find("python"))

#字符串方法
print("--------------字符串方法join()----------------")
field = "","home","data","hdfs"
print("/".join(field))
field = "","just","do","it"
print("/".join(field))
field = ('just','do','it')
print('!'.join('%s' %i for i in field))

#字符串方法
print("--------------字符串方法lower()----------------")
field = "JUST,DO,IT"
print(field.lower())

#字符串方法
print("--------------字符串方法upper()----------------")
field = "just,do,it"
print(field.upper())
print(field.upper().find("IT"))

#字符串方法
print("--------------字符串方法swapcase()----------------")
field = "Just,Do,It"
print(field.swapcase())

#字符串方法
print("--------------字符串方法relace()----------------")
field = "just do it"
print(field.replace("it","it,do it now"))
print(field.replace("t","T",1))

#字符串方法
print("--------------字符串方法split()----------------")
field = "just do it"
print(field.split())#返回分割后的列表，默认分隔符是空格
field = "just|do|it"
print(field.split("|"))
print(field.split("|",1))#指定最大分割字数

#字符串方法
print("--------------字符串方法strip()----------------")
field = " just do it "
print(field.strip())
field = "-just do it-"
print(field.strip("-"))

#字符串方法
print("--------------字符串方法translate()----------------")
field = " just do it "
intab = "abcde"
outtab = "12345"
transtab = field.maketrans(intab,outtab)
print(field.translate(transtab))

#习题：小智的智商去年是100，今年是132.问：今年比去年提高了多少。
#要求：用字符串格式化显示输出"xx.x%"的形式，保留一位小数
print("--------------习题----------------")
print("小智的智商比去年提高了%.1f%%"%((132-100)/100*100))